﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


/// <summary>
/// operate Result ( 操作结果 针对B-JUI 的Ajax回调 结构体 )
/// </summary>
public class OpResult
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="statusCode">必选。状态码(ok = 200, error = 300, timeout = 301)，可以在BJUI.init时配置三个参数的默认值。</param>
    public OpResult(int statusCode)
    {
        this.statusCode = statusCode;
    }

    public OpResult(int statusCode, string message = null, string tabid = null, string dialogid = null, string divid = null, bool? closeCurrent = null, string forward = null, string forwardConfirm = null, string filename = null)
    {
        this.statusCode = statusCode;
        this.message = message;
        this.tabid = tabid;
        this.dialogid = dialogid;
        this.divid = divid;
        this.closeCurrent = closeCurrent;
        this.forward = forward;
        this.forwardConfirm = forwardConfirm;
        this.filename = filename;
    }

    /// <summary>
    /// 必选。状态码(ok = 200, error = 300, timeout = 301)，可以在BJUI.init时配置三个参数的默认值。
    /// </summary>
    public int statusCode { get; set; }
    /// <summary>
    /// 可选。信息内容。
    /// </summary>
    public string message { get; set; }
    /// <summary>
    /// 可选。待刷新navtab id，多个id以英文逗号分隔开，当前的navtab id不需要填写，填写后可能会导致当前navtab重复刷新。
    /// </summary>
    public string tabid { get; set; }
    /// <summary>
    /// 可选。待刷新dialog id，多个id以英文逗号分隔开，请不要填写当前的dialog id，要控制刷新当前dialog，请设置dialog中表单的reload参数。
    /// </summary>
    public string dialogid { get; set; } 

    /// <summary>
    /// 可选。待刷新div id，多个id以英文逗号分隔开，请不要填写当前的div id，要控制刷新当前div，请设置该div中表单的reload参数。
    /// </summary>
    public string divid { get; set; }

    /// <summary>
    /// 可选。是否关闭当前窗口(navtab或dialog)。
    /// </summary>
    public bool? closeCurrent { get; set; } 
    /// <summary>
    /// 可选。跳转到某个url。
    /// </summary>
    public string forward { get; set; }
    /// <summary>
    /// 可选。跳转url前的确认提示信息。
    /// </summary>
    public string forwardConfirm { get; set; }

    /// <summary>
    /// 上传文件 返回的 文件相对路径
    /// </summary>
    public string filename { get; set; }
}